Skip to main content

Full text of "Syntax Magazine"

See other formats


SYNTAX 

A  PUBLICATION  OF  THE  HARVARD  GROUP 


news 


VOL. 5  NO. 9 

ISSN  0273-2696 

SEP.  1984 

ISSUE 


OKAY — SO  IT  COMES  IN  BAGGIES 


8K  Programs 

Crypto . 7 

2068  Programs 

Headscan . 4 

Hall  of  the  Fractal 

Hackers . 8 

Classifieds . 10 

Machine  Code . 6 

News . 1 

New  Products . 3 

Software  Hints 
Odd  Reports  from  all 

over . 6 

Scroll  Call . 6 

RAND  USR  8  39 . 7 

Vendor  Report . 2 

Index  to  Advertisers 

Tom  Cole . 10 

TS  Horizons . 7 


ATTENTION 

SYNTAX  will  definitely  be 
late  for  the  next  several 
months.  Please  phone  if 
you  want  to  check  on  the 
latest  issue  available, 
we  cannot  answer  letters 
because  we  can't  afford 
the  postage.  I  know  the 
service  is  poor  and  costs 
more  than  UK  magazines.  I 
don't  try  to  present  this 
performance  as  desirable. 
If  your  budget  is  limited 
and  you  want  quantity,  we 
cannot  help.  If  you  want 
excellence.  I'll  continue 
to  provide  that.  With  a 
lot  of  your  help,  SYNTAX 
will  survive — Kirt  Olson. 


In  our  vendor  reports  last  month,  SYNTAX  said 
Timex  software  doesn't  come  in  baggies.  Yes 
it  does,  and  honest  stuff,  too.  As  Marty 
Warner-DuBay  pointed  out  to  us  after  getting 
a  flurry  of  phone  calls  from  her  dealers  for 
the  licensed  programs  she  sold  in  baggies, 
with  photocopied  documentation,  on  ordinary 
cassettes.  But  you  can  tell  these  legal 
copies  from  stolen  stuff  because  the  tapes 
are  marked  as  distributed  by  Games  To  Learn 
By.  Marty  also  tells  us  that  they  will 
change  the  packaging  to  use  distinct  features 
and  to  include  a  copy  of  their  authorization 
to  distribute  these  products. 

Marty  has  negotiated  damages  from  the 
Canadian  store  which  sold  these  unauthorized 
copies  and  they  have  promised  to  purchase 
from  the  authorized  source  from  now  on.  We 
owe  Marty  our  thanks  and  our  business  for 
keeping  these  programs  available  to  us. 

Ian  Singer  of  Integrated  Data  Systems  is 
the  hero  of  this  piece — he  who  spent  his  time 
&  money  to  protect  your  right  to  participate 
in  only  honest  enterprises.  You  ought  to  get 
his  catalog  and  see  if  your  next  purchase 
could  return  the  favor. 

WISH  I  WERE,  WISH  I  MIGHT 

Timex  and  Dave  Higginbottem  exchanged  letters 
preliminary  to  deciding  the  terms  on  which 
they  may  want  to  talk.  As  of  this  writing, 
no  negotiations  or  talks  are  taking  place. 
Unofficially,  we  understand  negotiations  will 
be  publicly  announced  if  they  actually  come 
to  pass.  Right  now,  the  field  remains  open. 

NOT  OUT  OF  THE  WOODS  YET 

Tom  Woods  promises  you  will  get  PRO/File's 
manual,  but  he  is  not  yet  finished.  Work  on 
the  100-page  book  proceeds  regularly  despite 
Tom's  new  SyncWare  News  responsiblities. 


1 


NY  OUT  OF  NUMBERS — ZEBRA  AC  CHANGED 


New  York  City  ran  out  of  telephone 
numbers  so  half  the  city  will  now 
be  area  code  718.  Zebra  Systems 
bulletin  board  is  now  718/296-2229. 
Zebra  reports  1400  calls  during  the 
first  8  weeks  of  operation.  This 
level  of  activity  encouraged  them 
to  upgrade  from  the  TRS-80  Model  I 
to  a  Model  4  with  4  disk  drives.  A1 
Hartman,  SYSOP  for  the  Zebra  BBS, 
says  the  board  is  full  of  good  info 
that  you  shouldn't  miss.  Call  soon 

SINCLAIR  EXPANDS  EASTWARD 

Sinclair  Research  Ltd.,  is  building 
up  its  presence  in  the  Middle  East, 
where  its  key  markets  are  Saudi 
Arabia,  Egypt  and  the  Gulf  States. 
Alan  Miles  will  manage  Middle 
Eastern  affairs  for  Sinclair,  who 
already  have  a  distributor  network 
there.  At  the  same  time,  John 
Durnford  (formerly  of  Commodore) 
will  manage  the  South  East  Asia 
territory  from  Singapore.  Sinclair 
believes  it  has  great  potential  in 
both  areas  for  its  line  of  personal 
computers.  Existing  sales  exceed 
3  million  units,  and  Sinclair  now 
produces  150000  units  monthly. 

As  of  mid-September,  QL  should 
be  hitting  the  UK  stores,  and 
export  sales  (that's  us  folk)  will 
follow  later  this  year. 

NATIONAL  TS  USER'S  NETWORK  TO  FORM 

Don  Barnard  of  TSS  is  forming  a  new 
club  that  promises  to  provide  the 
following  services  for  $30/year. 
o  Free  monthly  update  listing  or 
tape  of  products  for  your  system, 
o  Access  to  databases  for  BBS, 
Clubs,  Newsletters,  Product  reviews 
o  Letter  exchange  lets  you  publish 
questions  and  get  responses  through 
TSS  mail  service. 

o  Assistance  in  forming  new  local 
user  groups  by  forwarding  notices 
through  TSS  to  members  in  the  area 
o  Network  newsletter  with  Hints, 
programming  tips.  Question  column. 


Reviews,  and  so  on. 
o  Discounts  on  all  orders  from  TSS 
and  other  dealers  in  the  program. 

In  addition,  the  network  will 
provide  product  registration  to 
eliminate  duplication  of  titles  and 
provide  dealers  with  information  on 
sources  of  supply  and  discounts. 
Dealers  and  local  user's  group 
leaders  will  be  allowed  to  sell 
memberships  once  they  join. 


VENDOR  REPORT 

PleasanTrees  Programming  continues 
to  supply  ZX/TS  software  and  will 
introduce  new  2068  titles.  They 
are  closing  out  the  last  copies  of 
"Graphics  A  to  Z,"  see  classifieds, 
this  issue.  You  can  get  it  later, 
but  photocopied  &  50%  more  costly. 

Our  report  from  Canada  proved  sadly 
true:  Gladstone's  Toronto  store 

sold  copied  software  that  Games  To 
Learn  By  owns  exclusive  rights  to 
manufacture,  but  which  were  not 
purchased  from  GTLB.  SYNTAX  holds 
physical  evidence  to  back  these 
allegations.  See  our  front-page 
news  story  on  software  in  baggies. 

SYNTAX  is  delivering  late  again  and 
serving  customers  badly.  According 
to  publisher  Kirt  Olson,  "We  don't 
know  when  things  will  get  back  on 
schedule.  It's  hard  to  be  normal 
in  a  market  as  troubled  as  this. 
Nobody  else  has  survived  and  it's 
only  the  infinite  compassion  of  our 
loyal  readers  that  gives  us  hope." 

BASIC  newsletter  is  back  with  an 
all-games  issue.  Restructured  as  a 
6-Issue  per  year  publication,  the 
price  is  now  $12.95/yr.  Those  who 
subscribed  for  12  issues  will  get 
them  all,  but  over  an  extended  time 

KOPAK  CREATIONS  took  $45  from  a  MI 
resident  and  does  not  answer  his 
letters.  The  phone  is  disconnected 
Looks  like  Robert  Schiller  of  KOPAK 
is  out  of  business. 


NEW  PRODUCTS  AND  SERVICES 

Peech  II  Productions  supplies  2068 
educational  software  titles  ranging 
from  VERBS  to  DRAWING  priced  under 
$10.  For  details  write  them:  6333 
Parkman  Pi,  Cincinnati,  OH  45213. 

Magic  World  Software  is  sole  source 
for  INVO-STAR  inventory  management 
system.  Cassette  data  storage  and 
menu-driven  functions  let  you  print 
pick  lists  &  packing  slips  on  your 
2068  +  2040.  US$15  ppd  in  US  for 

manual,  listing  and  tape,  POB  1184 
Olympia,  WA  98507.  206-786-1390 

HYBRIDION  announces  LOAN$  to  find 
interest  rate,  principal,  regular  & 
final  payment,  balance,  term  and 
amortization  schedules  for  each 
payment  of  each  year,  and  summaries 
For  info  send  SASE  to  them  at  614 
Linden  Hill,  Lindenwold,  NJ  08021. 

ROMSWITCH  runs  Spectrum  programs  on 
2068s,  plus  your  2068  software. 

Fits  inside  computer — frees  edge  & 
cartridge  connectors.  Detailed 
installation  instructions  with  kit. 
No  soldering  or  drilling.  Magnetic 
switch,  fixed  at  the  upper  right- 
hand  of  keyboard,  selects  ROM.  Run 
some  programs  that  won't  run  with  a 
chameleon.  $54.95  ppd  assembled  & 
tested.  G.  Russell  Electronics, 

RDl  Box  539,  Centre  Hall,  PA 
16828.  MC,  VISA,  814-364-1325 

Robert  C.  Fischer's  T/S  GRADER  can 
record  9  classes  totalling  126 
students  with  60  grades  each,  or 
412  students  in  10  classes  with  10 
grades.  Capacity  grows  4.5  times 
in  64K.  Features  MC  speed,  classes 
loaded  together,  &  printer  output. 
TS2068  version  holds  68  grades  per 
student  on  385  students.  $15.95 
for  ZX/TS,  $19.95  for  2068;  both 
for  $29.95.  Contact  Fischer  at  221 
Scoggins  ST.,  Summerville,  NJ  30747 

John  and  Catherine  Grant  wrote  "The 
ZX  PROGRAMMERS'  COMPANION",  a  new 
book  from  Cambridge  University 


Press.  The  authors'  company.  Nine 
Tiles  Information  Handling  Ltd, 
wrote  the  instruction  manuals  and 
the  built-in  software  for  the  ZX/TS 
and  Spectrum  machines. 

ISBN  0-521-27044-8  $11.95 

Although  not  ZX/TS-specif ic,  "The 
Joy  of  Computer  Communication"  by 
William  J.  Cook  will  interest  our 
readers  with  modems.  $5.95  US  & 
$7.50  CANADA:  ISBN  0-440-54412-2 

Howard  Sams  has  released  the  "Timex 
Sinclair  2068  Intermediate/Advanced 
Guide."  Containing  both  Z8 0-general 
and  2068-specific  machine  language, 
+  material  on  the  AY-3-8912  sound 
chip  and  2068  ROM  calls,  this  book 
ranks  with  the  2068  Tech  Manual  as 
a  "must  buy."  ISBN  0-672-22226-4 
$9.95  +  $2 . 00  P&H  from  Sams  or  SYNTAX 

I.  Auersbacher  offers  four  programs 
for  16K  ZX/TS  or  2068.  Each  costs 
$14.95  for  tape,  instructions, 
samples,  and  shipment  by  1st  class 
mail.  Math  Pack  I  does  algebraic 
and  vector  math;  Math  Pack  II  does 
calculus  functions;  Weathercaster/ 
Analyzer  predicts  local,  short¬ 
term  weather  and  related  indices; 
Astrology  does  natal  horoscopes. 

41  King  St.,  Belleville,  NJ  07109. 

Pion  Software  Co.  offers  2  printer- 
compatible,  16K  ZX/TS  programs. 

File  Mate  holds  4  00  records  of  30 
char,  with  variable  item  length, 
search,  and  delete.  Stock  Investor 
does  20  ratios,  financial  statement 
worksheets  &  stock  values.  Tapes, 
US$12.95  ea.  $4.95  ea.  for  listings 
541  Fairlawn  Av  Toronto,  ON,  Canada 
M5M  1V5.  416-781-0314 

Textwriter  Plus  64  for  2  068  &  AERCO 
centronics  interface  will  print  any 
char,  size  at  any  printout  width. 
This  upgrade  of  TW  2000  adds,  tabs, 
deletes,  condenses,  centers  &  moves 
blocks.  Screen  &  printer  (not 
2040)  show  64  columns.  $29.95  with 
manual.  Bob  Fingerle,  39639 
Embarcadero,  Fremont,  CA  94538 


3 


HEADSCAN 

Many  programs  for  the  2068  use 
MC  to  gain  speed  or  functions  not 
possible  in  BASIC — for  example: 
"Flight  Simulator"  and  "VU-File"  as 
sold  by  Timex.  It's  hard  to  make 
an  archival  copy  of  these  programs 
(as  approved  by  copyright  laws) 
when  they  LOAD  in  several  sections. 
Typically,  these  include  a  short, 
autorunning  BASIC  program  to  LOAD 
the  remaining  code  and  manage  the 
housekeeping  functions,  then  an  MC 
section.  Sometimes  a  title  screen 
LOADS  between  the  BASIC  and  MC. 
(Some  also  use  two  sequential  BASIC 
loaders — KO) 

Within  the  BASIC  program,  you 
often  find  a  line  like: 

10  LOAD  ""CODE 

which  LOADs  the  MC  to  the  area  from 
which  it  was  SAVEd.  To  re-SAVE  the 
MC,  you  need  its  start  address  and 
length  in  bytes. 

Before  each  program,  you  find 
a  17-byte  header  that  contains  this 
information.  A  utility  program  to 
read  this  information  would  be  very 
helpful.  The  UK  magazine  Sinclair 
User  originally  published  a  header 
utility,  but  it  calls  Spectrum  ROM 
areas  which  differ  from  the  2068. 

I  modified  the  program,  guided  by 
the  2068  Technical  Manual,  to  call 
the  read-tape  routines  of  the  2068 
extension  ROM. 

You  can  read  Spectrum  headers 
on  your  2  068  with  this  program,  but 
the  2068  routine  will  not  run  on 
your  Spectrum.  See  the  notes  to 
the  assembly  language  listing  for  a 
machine-code  routine  for  Spectrum 
computers . 

According  to  section  4.2.1  of 
the  2068  Tech  Manual,  a  17-byte 
header  is  saved  before  each  program 
SAVE.  The  first  byte  marks  program 
type:  0  for  BASIC,  1  for  a  numeric 
array,  2  for  a  string  array,  or  3 
for  machine  code.  Then  10  bytes 


contain  the  program  name  (that's 
why  you  can  have  only  10  characters 
in  a  program  name). 

Bytes  12&13  represent  the  full 
length  of  the  data  to  follow.  They 
are  recorded  in  routine  fashion 
(byte  12+256*byte  13). 

When  the  data  reveal  a  BASIC 
program,  then  bytes  14&15  show  the 
line  number  from  which  the  program 
autoruns — if  (byte  14+256*byte  15) 
is  >0  and  <9999.  If  the  data  is 
for  MC,  then  (byte  14+256*byte  15) 
gives  the  start  address  of  the 
code  specified  when  it  was  SAVEd. 

Bytes  16&17  reveal  the  BASIC 
program  length  without  variables. 
(In  terms  of  system  variables,  the 
value  is  VARS-PROG).  These  2  bytes 
equal  zero  for  all  other 
possibilities . 

Disassembly  of  the  tape  read 
routine  reveals  some  interesting 
things.  The  IX  register  holds  the 
address  to  which  data  is  loaded 
from  tape  (starting  at  64060  for 
this  program).  Since  the  Utility 
Function  Dispatcher  depends  upon 
the  IX  register,  we  cannot  call  the 
tape  routine  via  the  UFD.  Register 
DE  holds  the  number  of  bytes  to  be 
loaded — 011H=17D.  Routines  from 
FA0EH-FA34H  are  those  given  in  the 
2068  Technical  Manual  to  call  the 
read-tape  area  of  extension  ROM. 

Our  original  goal  was  to  make 
archival  copies  of  MC  programs.  In 

all  of  the  following  LOAD  and  SAVE 
steps,  stop  the  recorder  as  soon  as 
you  get  the  0/0  or  0  OK  report  and 
remove  or  insert  the  tape  without 
rewinding.  This  lets  you  make  the 
copy  section  by  section.  To  do  so, 
perform  the  following  steps: 

1.  RUN  HEADSCAN  and  read 
the  header  information  from  the 
BASIC  portion  of  your  favorite 
program.  This  tells  you  the  AUTO 
RUN  line  number  of  the  BASIC. 


4 


Write  this  line  number  down. 

2.  Use  HEADSCAN  to  read  information 
from  the  header  of  the  next  part  of 
the  original  program.  This  will 
usually  be  BYTES:  "name",  then  the 
data  length,  and  start  address.  If 
the  start  address=16384  and  data 
length=6912,  then  that  code  is  a 
SCREEN$  (usually  the  title  screen.) 
Write  down  the  values  for  this  part 
of  your  program  to  use  in  step  8. 

3.  Repeat  step  2  for  each  part  of 
your  original  program. 

4.  Type  RAND  USR  0  to  completely 
reset  your  2068. 

5.  Rewind  your  original  MC  program 
tape  and  type  MERGE  ""  to  load  the 
BASIC  portion  of  the  program  and 
block  autorun.  Stop  the  tape  at 
the  0/0  code.  Do  not  rewind. 

6.  Remove  your  original  tape  from 
the  recorder  and  replace  it  with  a 
rewound  blank.  Now  you  key  in  the 
command  SAVE  "name"  LINE  nn  (where 
nn=autorun  line  number  found  in 
step  1).  As  soon  as  SAVE  finishes, 
stop  the  recorder  and  remove  the 
new  tape  without  rewinding. 

7.  Replace  the  original  tape  in  the 
recorder  and  load  the  code  from  the 
original  by  typing  LOAD  ""  CODE. 

As  soon  as  you  get  the  0/0  report 
at  the  bottom  of  your  screen,  stop 
the  recorder  and  remove  your 
original  tape  without  rewinding. 

8.  Put  the  new  tape  in  the  recorder 
and  save  the  code  portion  of  your 
tape  by  typing: 

SAVE  "name"  CODE  aa,bb 
where  aa=start  address  and  bb=data 
length  from  step  2.  Stop  the  tape 
as  soon  as  you  get  the  0  OK  report. 
Remove  your  new  tape.  Don't  rewind. 

9.  Repeat  steps  7  &  8  for  each  code 
section  of  your  program. 

After  you  complete  these  steps 


for  each  section  of  the  original, 
rewind  your  copy.  It  should  behave 
exactly  as  the  original. 

A  Friend  From  Memphis 

Careful  reading  of  the  TS2068 
Technical  Manual  will  reveal  other 
information  you  could  extract  from 
the  header,  including  variable 
names  and  sizes  for  arrays  saved 
separately — KO. 


5 


ODD  REPORTS  FROM  ALL  OVER 


In  the  machine  code,  the  routine 
named  IFRT  calls  the  extension  ROM 
as  instructed  in  the  2068  Technical 
Manual,  the  code  labelled  RTAP  says 
where  to  read  the  extension  ROM. 

Decimal  addresses  64060  to 
64076  contain  the  17  bytes  read 
from  the  header.  You  may  PEEK  them 
from  those  locations  and  examine 
them  yourself. 

To  use  the  machine  code  on  a 
Spectrum  computer,  change  FA0AH  to 
read  CD5605,  which  calls  1366D,  and 
forget  all  steps  after  FA0DH  (=C9.  ) 
In  the  BASIC  version,  replace  each 
number  after  the  first  201  in  line 
9980  with  either  201  or  0  (RETurn 
or  NOP)  and  replace  the  first 
sequence  2  05,14,250,201  with  the 
sequence  2  05,86,5,2  01.  Line  9981 
can  be  all  0's.  If  your  skill 
permits,  you  can  shorten  the  code 
for  the  Spectrum  dramatically. 

SCROLL  CALL — EVERYBODY  UP — 2068 

Alter  ZX/TS  SCROLL  commands  to 
USR  2361  for  the  2068,  or  USR  3582 
for  the  ZX  Spectrum  or  Emulator. 

LET  t=USR  2361  avoids  resetting  RND 
as  happens  with  each  RAND  USR  call. 


Computers,  like  humans,  often 
give  confusing  answers,  doing  the 
best  they  can  to  tell  you  what's 
wrong.  Some  years  ago,  I  spent  too 
many  hours  trying  to  understand  the 
message  "invalid  subroutine  call" 
in  a  program  with  no  subroutines. 

As  it  turned  out,  I  exceeded  the 
default  length  of  variable  names  on 
the  particular  machine,  and  it  did 
the  best  it  could  to  tell  me  where 
I  had  erred  in  this  case. 

When  you  use  USR  calls,  you 
transfer  absolute  control  of  the 
machine  to  the  address  specified, 
and  the  function  expects  a  RETurn 
instruction  that  will  provide  a  2- 
byte,  unsigned  integer  as  the  value 
returned  in  the  BC  register  pair. 

But  try  10  LET  T=USR  832  right 
after  you  do  a  NEW  on  your  ZX/TS. 
Surprise!  You  get  C/10 — the  text 
of  the  string  argument  of  VAL  does 
not  form  a  valid  numerical 
expression.  VAL?  What  string? 

What's  happened  is  that  the 
answer  couldn't  be  assigned  as  you 
demanded,  so  the  computer  tried  to 
see  if  it  could  treat  the  answer  as 
a  string  to  be  evaluated  before 
assignment.  It  could  not,  and  told 
you  so — answering  a  question  you 
did  not  know  you  had  asked.  This 
happens  on  the  way  back  from  the 
call,  not  before  executing  the  code 
starting  at  832. 

Perhaps  some  ROM-dweller  out 
there  can  give  us  an  even  clearer 
picture  of  all  this.  Until  then, 
remember — the  computer  always  does 
exactly  as  it  should.  Even  a  truly 
malfunctioning  machine  executes  its 
broken  cycles  perfectly — though  not 
always  understandably. 

Thermodynamics  says  you  can't 
win,  you  can't  break  even,  and  you 
can't  get  out  of  the  game — but  you 
can  learn.  Observe,  don't  judge. 


6 


) 

1 


,/ 

1 


Each  issue  brings  you  32  pages  o-f  usable  in-formation,  program 
listings,  product  reviews,  programming  articles,  hardware 
projects,  and  applications  tor  your  computer.  T-S  HORIZONS 
-features  nationally  known  authors  like  Paul  Hunter,  Gordon 
Young,  and  others.  The  price  is  ONLY  *15.00  tor  a  full  year 
(12  issues).  AND  -for  a  limited  ti  me  only,  new  su  bsc  r  i  ber  s 
will  receive  our  special  telecommunications  issue  (#7,  see 
below)  *FREE*  with  their  subscription. 


]N _ 

Byte  Back  Modem  Review 
2068  Programming  Tips 
How  a  Comp i 1 er  Works 
Te 1 ecommumi cations 
■for  Beginners 
Book  &  Game  Reviews 
Rotating  Globe  Routine 
Articles  By  G .  Young 
and  Paul  Hunter 
Sinclair  ln-fo.  Network 
TS-1000  Power  Supply 
-and  more  1  1  ' 


T-S  HORIZONS 

_  —  ^  _f  °£  J.2_mon_t  hjl  y_  i_ssue_s  -_*2  ._00_s_amp  1  e  or_bacj<  _i  ssues^ 

Enclose  *15  (US)  For  12-issue 

subscription,  plus  *FREE*  back  NWiE _ 

issue  (while  supplies  last). 

*21  Canada,  *25  other  Foreign.  ADDRESS _ 

Extra  back  i ssue/sampl e «  *2.00 

CITY _ 

SEND  TO i  T-S  HORIZONS 

2002  Summ i t  St  STATE.ZIP _ 

PORTSMOUTH ,  OH  45662 


CRYPTO — 8K/2K 

This  sophisticated  coder  and 
decoder  runs  in  only  2K.  Use  it 
for  fun  as  a  stand-alone  program, 
or  create  a  subroutine  to  make  your 
datafiles  unintelligible  without 
the  keyword.  Of  course,  keywords 
must  exist  somewhere,  here  it's  Y$, 
and  the  program  clears  it  after 
each  run.  When  you  make  a  data- 
protection  subroutine,  reset  Y$. 

Take  the  keyword  out  when  you 
SAVE  the  program — set  Y$  to  some 
new  value — and  remember  the  exact 
keyword  or  you  can't  crack  the 
code.  Trying  to  decode  after  you 
reset  Y$  produces  garbage. 


T’SHiniinj 

Ai|*st  N»-7  JL25 

YTWUErJ 

TS  2061 

IS- 1000/ ISO! 

PR0CR  A  MS 
TIPS 

BANK  SWITCHING  -4 
“WORM CONCLUDED 

Ruatrs  l  Cmip  Nc«  Calaaa 

T-S  HORIZONS  *7 


Both  the  keyword  and  message 
may  be  of  any  length,  but  you  can't 
use  any  of  the  graphics  characters. 
You  may  use  A-Z,  spaces,  0-9,  and 
any  of  .,:;$<>()+-  =  ?*  in  either  key 
or  message. 

Imre  Auersbacher,  Belleville,  NJ 


7 


HALL  OF  THE  FRACTAL  HACKERS — 2068 

Based  on  the  Sep.84  Scientific 
Amer ican  computer  software  issue, 
the  first  of  these  programs  creates 
fractal  patterns  using  the  method 
described  on  page  156.  Byte  also 
published  an  article  on  fractal 
geometry,  accompanied  by  a  BASIC 
program  which  SYNTAX  translated  for 
your  2068.  (Byte,  Sep.84,  p  172) 

Fractal  Rocks 

Our  first  program  starts  with 
one  large  triangle,  then  locates 
and  displaces  the  midpoint  of  each 
side,  creating  a  6-sided  figure. 
Connecting  the  displaced  midpoints 
creates  4  triangles.  Repeating  the 
process  on  each  of  the  4  creates  16 
from  which  we  make  64  and  on  up  to 
1024.  The  final  figure  consists 
solely  of  triangles. 

Roughness  of  the  figure,  the 
amount  by  which  midpoints  move,  is 
controlled  by  the  first  DATA  item 
of  line  10.  Six  more  DATA  points 
set  the  vertices  of  the  initial 
triangle  using  x,y  coordinates  in 
the  same  units  as  for  PLOT  and  DRAW 
on  the  2068.  You  can  change  any  of 
these  to  get  different  results. 

Lines  30-80  locate  a  midpoint 
&  move  it  by  a  random  displacement 
proportional  to  both  length  and  the 
ruggedness  parameter.  The  program 
from  120-190  plots  the  rock  after 
each  stage  of  fracturing.  From 
line  220-260  the  program  moves  the 
previous  x,y  points  up  in  memory  to 
make  room  for  the  next  midpoints, 
and  from  270-330  the  program  picks 
triangles  to  be  fractured.  At  the 
end  1584  lines  connect  561  points 
forming  1024  triangles. 

Each  time  you  RUN  you  get  a 
different  picture.  You'll  see  the 
midpoint  dots  being  put  in  place  at 
each  step.  To  get  colored  rocks, 
just  change  the  INK  in  line  120  and 
in  line  210. 


Watching  rocks  form  may  be 
addictive.  This  program  takes  a 
little  over  three  minutes  to  run 
and  the  final  result  is  copied. 

Blanchard  D.  Smith,  Alexandria,  VA 
Fractal  Tracks 

Our  second  program  traces  the 
motion  of  points  in  the  x-y  plane, 
thus  generating  curves  whose  shape 
does  not  depend  on  size — the  entire 
curve  consists  of  like-shaped 
components.  Greg  Turk  published  an 
Applesoft  BASIC  version  of  this 
program  in  BYTE  (Sep.84)  and  you 
should  refer  to  that  magazine  for  a 
full  description  and  an  excellent 
article  by  Peter  Sorenson. 

This  program  demonstrates  how 
to  do  complex  numbers  in  x+jy 
notation  on  your  2068.  The  x-y 
plane  you  view  is  the  complex  plane 
and  whatever  insight  you  have  into 
complex  numbers  will  serve  you  in 
playing  with  this  program. 

Apples  number  the  screen  such 
that  0,0  is  top  left  and  159,279  is 
bottom  right.  We  did  not  alter  the 
code  to  erect  the  figures  on  2068's 

When  you  RUN  the  program,  you 
must  supply  lambda,  which  is  a 
complex  number  and  thus  needs  an  x 
and  a  y  value.  Most  of  our  tests 
used  numbers  between  +/-  Pi  for  xy- 
components  of  lambda.  Either  may 
be  zero.  Scale  is  a  single  number 
that  shrinks  the  picture.  Large 
values  make  small  pictures. 

The  program  doesn't  check  or 
fix  values  that  cause  intermediate 
results  to  be  too  large,  just  live 
with  the  error  reports  &  try  again. 
Enter  2,0,3  to  test  the  program — it 
gives  a  circle  —  then  try  as  many  as 
you  wish.  Some  patterns  take  15-60 
minutes  to  show  fully,  others 
repeat  within  the  resolution  of 
your  screen  and  you  may  see  only  a 
handful  of  points — KO. 


8 


IT’S  FAST  IN  SLOW  MODE 
INCREDIBLE  IN  FAST  MODE 

THE  BEST  FILING  PROGRAM  FOR  YOUR  2X81 ,  TS1000, 
TS1500  OR  YOUR  MONEY  BACK 

INTRODUCING 

FdSTFILE 

PROFESSIONAL  DATA  MANAGEMENT  SYSTEM 

Holds  more  data  than  you  ever  thought  possible! 

*  Written  in  100%  machine  code,  absolutely  no  basic. 

*  Up  to  255  fields,  512  characters/records. 

*  Full  printer  functions.  Use  with  Timex  2040  printer  or  any  printer 
that  accepts  the  LPrint  statement. 

*  Output  can  be  formatted  to.  your  exact  specifications. 

*  100%  menu  driven. 

*  Several  files  allowed  in  memory  at  the  same  time. 

*  Four  data  types:  fixed  point  decimal,  integer,  character  and  packed 
character  for  super  compact  storage. 

*  Complete  and/or  query  system. 

*  Super  fast  shell  sort. 

*  Meaningful  error  messages  like  “Error:  Integer  Too  Large” 
instead  of  the  cryptic  “B/740”. 

*  Comes  with  a  ready  to  run  checkbook  application  which  can  store 
over  400  checks  in  16K! 

*  Comprehensive  manual  includes  explicit  application  notes  so  that 
even  a  novice  can  use  FASTFILE  as  a  checkbook  balancer, 
appointment  scheduler/calendar,  address  book,  inventory  con¬ 
trol,  coupon/refund  files,  mailing  labels  and  more  applications 
you  will  invent  as  you  use  it! 

To  order  send  $19.95  plus  $2.00  P&H  for  cassette  and 

manual:  Tom  E.  Cole,  1 314  Speight  -15,  Waco,  TX  76706. 

Texans  add  local  tax. 


CLASSIFIEDS 

COVERED  ZX  FEEDTHROUGH  CONNECTORS 
Connector,  extender  circuit  board, 
cover  with  side  cable  exit  &  screws 
as  used  on  MW100  printer.  $10  ppd 
In  stock,  new — ORDER  FROM  SYNTAX. 

ACZ  GENERAL  LEDGER  (Reveiwed  SYNTAX 
5/84).  TS1000  $31.45  ppd.  Expanded 
TS2068  Version  $41.45ppd.SASE/Inf o 
C-TECH  POB  38553  #178  HOU.  TX  77238 

We  are  EXPANDING  our  support  of  all 
TS  computers.  Send  for  FREE  catalog 
from  D.  Lipinski  Software,  2737 
Susquehanna  Road,  Roslyn,  PA  19001 

TORONTO  SOFTWARE  WORLD  has  TS1000, 
TS2068,  and  SPECTRUM  (for  owners  of 
emulators)  products  at  low  prices! 
Send  for  details:  Box  84,  Dept.  2, 
Agincourt,  Ontario,  Canada.  MIS  3B4 
(please  indicate  type  of  computer 
and  emulator  if  applicable) 

2068  PROGS.  $6  EA.  SASE  FOR  LIST  TO 
PROGS.  R9  BX  1125  FRANKLIN  NC  28734 


Buffered  buss  expansion  bare  board 
$40  and  I/O  bare  board  $10  both  for 
ZX81/TS1 000/15 00  and  I/O  for  TS2068 
too.  Both  ppd  with  documentation. 
Budget  Robotics  &  Computing,  Box 
18616,  Tucson,  AZ  85731. 

UTILITY  PROGRAMS  -  MACHINE  LANGUAGE 
-Cassette  tape  data  file  read/write 
-Save  and  load  variables  by  name 
-BASIC  save/merge/erase  and  overlay 
+  others.  100's  of  satisfied  users. 
Prices  from  $5  to  $15  each  cassette 
SASE  for  details  SIRIUSWARE 

6  Turning  Mill,  Lexington,  MA  02173 

Quality  Software  for  ZX/TS.  WMJ 
Data  Systems,  4  Butterfly  Dr., 
Hauppage,  NY  11788.  Free  List. 

LAST  COPIES  OF  GRAPHICS  AtoZ  (12/83 

SYNTAX)  $21ea  w/P&H - Pleasantrees 

Programming:  POB  7345, Mesa, AZ  85206 
*SASE  for  2068/1000  titles  we  stock 

AERCO  DISC  INTER,  Drive/Cabi,  Power 
Sup,  S-Ware:  $300  Jim  404-921-3992 

LOAN$  computes  principal,  int.  rate 
reg. /final  pmts.,  term,  balance  and 
complete  amortization  schedules. 
MATMAN  performs  matrix  functions: 
add/ sub/mult/ invert/transp/determ. 
16K  TS1000/2068:$15.95  ea(check/MO) 
for  CC/doc/LISTing.  HYBRTDTON.  614 
Linden  Hill,  Lindenwold,  NJ  08021. 

2068  BASIC  Toolkit:  Prog,  renumber, 
BASIC  vars  list,  string  search,  str 
replace,  REM  kill.  In  MC.$19.95ppd. 
2068  Disassembler:  MC  for  fast  list 
to  scrn  or  prtr,ZILOG  mnemon.,  ROM 
bank-switch ,labeling&more . $15 . 95ppd 
SASE  for  inf o: J.C.KILDAY  ASSOCIATES 
Central  Ave., Peaks  Island,  ME  04108 

BEST  CHKBOOK/BUDGET  MANAGEMENT  YET 
*Categor ize , Balance , Search , Total, 
Edit**5  00  files(16K)**  $15  R.Nelb 
30  Whitney  Ridge,  Hamden, CT  06518 

SERIOUS  BUSINESS  SOFTWARE  for  ZX81, 
T/Sl  0 0 0 ,T/ S15  0 0.  Send  S.A.S.E.  for 
catalog  to:  A.F.R.  Software,  1605 
Penna. ,Av. ,204 , Miami  beach , FI . 33139 


lO 


SYNTAX  is  published  monthly  by  a  wholly- 

owned  subsidiary  of  The  Harvard  Group. 

Syntax  ZX80,  Inc. 

RD  2,  Box  457,  Harvard,  MA  01451. 

Telephone  617/456-3661. 


Publisher: 
Editor: 
Consulting  Editor: 
Technical  Consultant: 


Kirtland  H.  Olson 
Eric  K.  Olson 
Ann  L.  Zevnik 
Kirtland  H.  Olson 


©  Syntax  ZX80,  Inc.,  1984.  All  rights  reserved. 
Photocopying  prohibited.  ISSN  0273-2696 


OUR  POLICY  ON  CONTRIBUTED  MATERIAL 

SYNTAX  invites  you  to  express  opinions  related  to  any  Sinclair  or  Timex  com¬ 
puter  or  peripheral,  or  the  newsletter.  We  will  print,  as  space  allows,  letters  discuss¬ 
ing  items  of  general  interest.  Of  course  we  reserve  the  right  to  edit  letters  to  a 
suitable  length  and  to  refuse  publication  of  any  material. 

We  welcome  program  listings  for  all  levels  of  expertise,  written  in  either  Sinclair 
BASIC  or  Z80  machine  code.  Programs  can  be  for  any  fun  or  useful  purpose.  We 
will  test  run  each  one  before  publishing  it,  but  we  will  not  debug  programs;  please 
send  only  workable  listings.  Ptograms  submitted  on  cassette  can  be  tested  more 
quickly  and  with  less  chance  of  error. 

In  return  for  your  listing,  we  will  pay  you  a  token  fee  of  $2.00  per  program  we 
use.  This  payment  gives  us  the  nonexclusive  right  to  use  that  program  in  any  form, 
world  wide.  This  means  you  can  still  use  it,  sell  it,  or  give  it  away,  and  so  can  we. 

We  will  consider  submissions  of  news  and  hardware  or  software  reviews.  Please 
keep  articles  short  (350-400  words).  Again,  we  reserve  the  right  to  edit  accepted 
articles  to  suitable  length.  We  will  pay  7  cents  per  6  characters,  including  spaces  and 
punctuation,  for  accepted  articles. 

When  you  send  in  articles  for  possible  publication  in  SYNTAX,  please  include 
the  following  information: 

•  How  to  operate  the  program,  including  what  to  input  if  it  does  not  contain 
prompts. 

•  Whether  you  can  run  the  program  over  again  and  how. 

•  How  to  exit  the  program. 

•  The  Syntactic  Sum  (program  published  in  June  81; 
send  SASE  for  a  free  copy). 

•  What  RAM  size  program  requires. 

•  What  ROM  program  uses  (8K,  2068,  Spectrum). 

•  For  MC  programs,  what  addresses  must  change  to  relocate  the  code  and  what 
ROM  calls  are  used. 

We  pay  for  this  explanatory  text  at  the  same  rate  as  we  pay  for  articles  in  addi¬ 
tion  to  payment  for  the  program  itself. 

If  you  want  us  to  return  your  original  program  listing  or  article,  please  include 
a  self-addressed,  stamped  envelope.  Otherwise,  we  cannot  return  submitted  material. 


TASMAN  CENTRONICS  printer  interface 
Lets  you  run  full  size  printers  w / 
your  2068.  Encased  unit  has  all 
cables+sof twar e  needed.  Allows  use 
of  LPRINT,  LLIST  keyboard  commands, 
COPY  with  RAND  USR  call.  Price:  $90 
Package  Deal:  $30  OFF  interface  if 
ordered  with  Prowriter  printer.  Get 
details  free. 

Tom  Woods  Box  64  Jefferson, NH  03583 

*  *  *  A  NEW  BOOK  FOR  THE  T/S  *  *  * 
MACHINE  LANGUAGE  PROGRAMMING  ON  THE 
TIMEX/SINCLAIR  1000  +  1500  (+ZX81). 
The  key  to  using  (or  avoiding)  the 
ROM.  250  pages  include  ROM  catalog, 
Z80  programming,  and  many  examples. 
Available  in  Fall  for  $14.95.  Order 
now  for  $12.95.  Add  $1  shipping. 
Send  SASE  for  chapter  outline. 

David  B.  Wood  SIRIUSWARE 

6  Turning  Mill,  Lexington,  MA  02173 

2050  Modem,  driver  sw  &  free  Source 
memshp  $114.95  frm  Orion  Computers 
Rt  2  Box  318  Louisville,  TN  37777 

**  TS1000  PLUG  in  EPROM  SOFTWARE  ** 
OUICKLOAD  CARTRIDGE  $29.95 

save/load  16K  in  30  seconds 
15  times  faster  than  normal  16K  req 
ZXPROFILE  CARTRIDGEWOUTCKT.OADS39 .95 
Thomas  Woods  Data  Base  Manager 

Other  products  send  SASE  CATALOG 
Add  $4.00  Shipping/handling 
ROMPAK  INC 

1525  AVIATION  BLVD  SUITE  Alll 
REDONDO  BEACH  CA  90278 


Fill  out  the  coupon  below  and  mail  to:  SYNTAX,  RD  2,  Box  457,  Harvard,  MA  01451 


□  My  check  is  enclosed. 
Make  checks  Payable  to: 
SYNTAX  ZX80,  Inc. 


,  □  Please  charge  my  □  VISA 

□  Diner’s  Club  □  Mastercard 

□  American  Express  □  Access 
□  Carte  Blanche  □  Barclaycard 


.  ./  S9/84 

YES!  Please  send  me: 

□  The  Combination  11(13  issues  of  SYNTAX  and  SQ 

Winter  82-Summer  83)  .  $58 


Account  number  _ 

Exp.  date  _  Bank  number  (MC  only) 

Signature  _ 

Name  _ 

Address  _ 

City  _  State  _  Zip 


□  The  Catch-up  II  (SYNTAX  Jan.  82-Jan.  84,  SQ  Winter 

82-Summer  83,  plus  binder)  .  $77 

□  THE  WORKS  II  (SYNTAX  Nov.  80-Dec.  83,  SQ  Winter 

82-Summer  83,  plus  2  binders)  .  $97 

□  12  issues  of  SYNTAX  .  $48 

□  3  issues  of  Syntax  Quarterly  (Winter  82-Summer  83)  .  .  $25 

□  1  issue  Syntax  Quarterly  □  Winter  82  (  □  Spring  83 

□  Summer  83  .  $9 

□  1  Binder  .  $9  □  1  issue  of  Syntax  .  $5 


Phone:  Day  ( _ )  _  Evening  ( _ ) 


Telephone  orders  call 


□  My  subscription  number  is: 

□  This  is  a  new  subscription 


617-456-3661 

These  offers  expire  12/15/84  —  SUBSCRIBE  NOW. 


DON'T  MISS  OUT  AGAIN... 


Last  year  we  did  a  special  on  these  great 
impact  printers  by  Mindware  and  it  was  a 
sellout.  Now  we  managed  to  get  a  few  more 
new  printers — but  Mindware's  gone,  they'll 
never  make  any  more — get  yours  quick. 

You  can  have  a  plain-paper,  hard-copy 
printer  that  plugs  right  onto  your  ZX/TS 
with  no  interface  and  uses  LLIST,  COPY  and 
LPRINT  without  any  extra  driver  soft-ware. 
This  complete  printer  costs  less  than  most 
interfaces  and  uses  cheap,  standard  adding 
machine  paper  you  can  get  in  stationery 
stores.  Use  a  Radio  Shack  26-3507  ribbon 
or  Sharp  pocket  computer  equivalent. 

Think  of  it — program  listings,  labels, 
sample  screen  outputs — everything  you  need. 
And  your  new  printer  produces  all  the  ZX/TS 
characters,  even  graphics — the  only  impact 
printer  we  know  of  that  does  the  entire  ZX 
character  set  without  programming. 

Your  MW-100  runs  on  9  volts  dc.  If  you've 
been  looking  for  a  printer  to  use  in  your 
car,  this  is  it!  Use  your  ZX/TS  with  your 
MW— 100  to  keep  those  IRS  mileage  logs — you 
can  deduct  business  use  of  your  car  and 
your  computer. 

Print  in  three  soft ware— controlled  modes: 

0  for  listings — folds  your  32-character 
screen  into  two  16-character  lines,  1  for 
screen  copies — prints  the  left  half-screen 
first,  then  the  right  half  (you  tape  them 
together),  (2  was  never  installed),  3  for 
copying  only  columns  1—16  of  the  screen. 

Use  your  computer  to  log  data  or  run  your 
home  security  system,  with  a  hard  copy  of 


THE 

H\RV\RD 

GROLP 

Bolton  Road.  Harvard.  Mass  01451 


> 

CD 


every  event.  Maintain  address  files  using 
your  MW-100  to  create  a  paper  transaction 
log  just  like  big  systems  do.  Print  price 
tags,  receipts,  nametags  or  tickets.  Lots 
of  useful  and  fun  applications.  You  know 
how  much  you  need  this — act  now  or  buy 
another  kind.  Listed  at  #119.95,  you  pay 
just  #55+#5  shipping  and  handling. 

One  more  thing,  when  you  buy  an  MW-100  you 
may,  at  the  same  time,  buy  any  back  issues 
of  SYNTAX  or  SQ  you  need  for  only 
#2. 50/issue  plus  a  #10  handling  fee. 


Quan  Code  Item _ _ _ Price  Amt 

SD2  Super  Deal  II:  SYNTAX 
Nov. 80  to  Dec. 84  plus  #126 

3  SQ  plus  2  binders 

MW-100  plain-paper  printer 
w/manual  +  ps  (new,  gtd  ok)  #55 


I  also  want  to  purchase: 

_ PAK  ZX  16K  RAMpak  Defective?  #15 

ZXK  ZX81  Makes  Cursor  w/PSP  #25 
DZX  Dead  ZX81  fll5~ 

PSU  700mA  Desktop  PS  gtd  OK ~#Io" 
We  pay  all  P+H  for  P+H  (fl5/item)~ 
SD2  _ TOTAL 


SYNTAX,  RD  2  Box  457,  Harvard,  MA  01451 

[]  Check  (payable  to  SYNTAX  ZX80)  enclosed 
[]  MC  []  VISA  []  AMEX  []  Diners  Club 
Account  Number 

Exp.  Date  _  Bank  Number  (MC)  _ 

Signature 

Name 

Address 

City  _  State  _  Zip  _ 

Phone  Day  ( _ ) _  Night  ( _ ) _ 

[]  I  am  already  a  subscriber  to  SYNTAX 

TELEPHONE  ORDERS  CALL  (617)  456-3661 


First  Class 


U.S.  Postage 

PAID 

Harvard,  MA 
Permit  No.  8 
01451